etcd-client
An etcd v3 API client for Rust. It provides asynchronous client backed by tokio and tonic.
Features
- etcd API v3
- asynchronous
Supported APIs
- KV
- Watch
- Lease
- Auth
- Maintenance
- Cluster
- Lock
- Election
- Namespace
Usage
Add this to your Cargo.toml
:
[]
= "0.14"
= { = "1.0", = ["full"] }
To get started using etcd-client
:
use ;
async
Examples
Examples can be found in examples
.
Feature Flags
tls
: Enables therustls
-based TLS connection. Not enabled by default.tls-roots
: Adds system trust roots torustls
-based TLS connection using therustls-native-certs
crate. Not enabled by default.pub-response-field
: Exposes structs used to create regularetcd-client
responses including internal protobuf representations. Useful for mocking. Not enabled by default.tls-openssl
: Enables theopenssl
-based TLS connections. This would make your binary dynamically link tolibssl
.tls-openssl-vendored
: Liketls-openssl
, however compile openssl from source code and statically link to it.
Test
We test this library with etcd 3.5.
Notes that we use a fixed etcd
server URI (localhost:2379) to connect to etcd server.
Rust version requirements
The minimum supported version is 1.70. The current etcd-client
version is not guaranteed to build on Rust versions
earlier than the minimum supported version.
License
Dual-licensed to be compatible with the Rust project.
Licensed under the Apache License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0 or the MIT license http://opensource.org/licenses/MIT, at your option. This file may not be copied, modified, or distributed except according to those terms.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted
for inclusion in etcd-client
by you, shall be licensed as Apache-2.0 and MIT, without any additional
terms or conditions.